#pragma once

#include <nlohmann/json.hpp>

#include <iostream>
#include <fstream>
// #include <format>
#include <vector>

#include <fmt/core.h>

namespace dual {
	/// @brief 机器人姿态类型
	enum RobotPoseType
	{
		ROBOT_POSE_CARTESIAN,  /// 笛卡尔姿态
		ROBOT_POSE_JOINT  /// 关节姿态
	};

	/// @brief 机器人姿态
	struct RobotPose
	{
		std::string Name;
		/// @brief 姿态类型
		RobotPoseType Type;
		/// @brief 姿态值
		std::vector<double> Value;
	};

	/// @brief 机器人姿态
	struct RobotPath
	{
		/// @brief 姿态类型
		RobotPoseType Type;
		/// @brief 姿态值
		int Length;
	};

	class DualRobotPath
	{
	public:
		DualRobotPath() = default;
		~DualRobotPath() = default;

		std::vector<RobotPose> path;

		//int setPose();
		//int getPose();

		int save(const std::string& file) const;

		int load(const std::string& file);

	private:
		int type;


	};
}



